// 导入数据库操作模块
const db = require('../db/index')

// 发布新文章的处理函数
exports.addArticle = (req, res) => {
    console.log(req.body) // 文本类型的数据
    console.log('--------分割线----------')
    console.log(req.file) // 文件类型的数据
    // 手动判断是否上传了文章封面
    if (!req.file || req.file.fieldname !== 'cover_img') return res.status('文章封面是必选参数！')

    // 整理要插入数据库的文章信息对象：
    // 导入处理路径的 path 核心模块
    const path = require('path')
    
    const articleInfo = {
        ...req.body,// 标题、内容、状态、所属的分类Id
        cover_img: path.join('/uploads', req.file.filename),// 文章封面在服务器端的存放路径
        pub_date: new Date(),// 文章发布时间
        author_id: req.user.id,// 文章作者的Id
    }

    // 定义发布文章的 SQL 语句：
    const sql = `insert into ev_articles set ?`
    // 执行 SQL 语句
    db.query(sql, articleInfo, (err, results) => {
        // 执行 SQL 语句失败
        if (err) return res.status(err)
    
        // 执行 SQL 语句成功，但是影响行数不等于 1
        if (results.affectedRows !== 1) return res.status('发布文章失败！')
    
        // 发布文章成功
        res.status('发布文章成功', 0)
    })

}